//package com.tjetc;
//
//import com.tjetc._2modifier.C;
//import com.tjetc._2modifier.D;
//
//// 访问修饰符 可以修饰类 但是只有public 和 默认
//public class _2ModifierScope extends C{
//    public int pu_a;
//
//    public void f_pu_a() {
//        System.out.println("f_pu_a");
//    }
//
//    protected int pr_a;
//
//    int d_a;
//
//    private int pri_a;
//
//
//    public static void main(String[] args) {
//        // 访问修饰符
//        /*
//            1. 公开级别:⽤public修饰,对外公开
//            2. 受保护级别:⽤ protected 修饰,对⼦类和同⼀个包中的类公开（继承使⽤） 暂时不讲继承 为了演示也把这个演示出来
//            3. 默认级别:没有修饰符号, 向同⼀个包的类公开
//            4. 私有级别:⽤ private 修饰,只有类本身可以访问,不对外公开
//
//            我们用的最多的两个 public private
//
//            A: 同类
//            B：同包不同类
//            C：不同包子父类
//            D：不同包非子父类
//         */
//
//        _2ModifierScope modifierScope = new _2ModifierScope();
//        B b = new B();
//        C c = new C();
//        D d = new D();
//        // 演示public的作用域
//        System.out.println("modifierScope.pu_a = " + modifierScope.pu_a);
//        modifierScope.f_pu_a();
//        System.out.println("b.pu_b = " + b.pu_b);
//        b.f_pu_b();
//        System.out.println("modifierScope.pu_c = " + modifierScope.pu_c);
//        modifierScope.f_pu_c();
//        System.out.println("d.pu_d = " + d.pu_d);
//        d.f_pu_d();
//
//        // 演示protect
//        System.out.println("modifierScope.pr_a = " + modifierScope.pr_a);
//        System.out.println("b.pr_b = " + b.pr_b);
//        // 当前类继承了C 所以modifierScope 就有了 C中的pr_c
//        System.out.println("modifierScope.pr_c = " + modifierScope.pr_c);
////        d.pr_d  访问不到
//
//        // 演示默认
//        System.out.println("modifierScope.d_a = " + modifierScope.d_a);
//        System.out.println("b.d_b = " + b.d_b);
////        modifierScope.d_c 继承关系 访问不到
////        d.d_d  访问不到
//
//
//        // 演示private
//        System.out.println("modifierScope.pri_a = " + modifierScope.pri_a);
////        b.pri_b  访问不到
////        modifierScope.pri_c  访问不到
////        d.pri_d  访问不到
//    }
//}
//
//class classB {
//    public int pu_b;
//
//    protected int pr_b;
//
//    int d_b;
//
//    private int pri_b;
//
//    public void f_pu_b() {
//        System.out.println("f_pu_b");
//    }
//}
